The present disclosure relates generally to the field of database management systems, and more particularly to increasing the performance of distributed databases. A distributed database (“DDB”) is a database in which the storage devices may not all be attached to a common processing unit controlled by a distributed database manage system. A DDB may be stored in multiple computing devices located in the same physical location or dispersed over a network of interconnected computing devices.
A significant factor affecting the efficiency of a DDB is the cost of communications, in particular object locking and transfer, such as a page transfer, during an update. In a database setting, locks are used when multiple users desire to access information concurrently and serve to prevent data from being corrupted or invalidated when multiple users try to write to the database. Invalidated data is information that is false and/or incomplete. In a typical locking mechanism, a user can only modify data to which they have applied a lock for that gives them exclusive access to the data until the lock is released. When the user need to lock a database object for which they do not have a lock for they must request a lock from the database management software. Hence, locking not only provides exclusivity to write but also prevents other users from accessing uncommitted modifications. Typically during a data update, users invoke a commit statement to make data modifications permanent.
For example, the invocation of a commit to complete a database transaction, such as information read or write actions, makes all associated changes visible to other users of the database. Typically, locking is accomplished by a lock manager function that is included in database management software and lock acquisition operations are fully synchronized in nature. However, a user may progress in a transaction without knowing for certain that access to potentially shared data is serialized against changes by other transactions.